// PROGRAMA: PBCADCIV
// ANALISTA: SOLON MIRANDA
// DATA : 20/05/1999
// OBJETIVO: LISTAGEM PARA O DPTO. DE MICROFILMAGEM (BONIFACIO)
// OBS : nomeClasse BATCH

package br.com.vti.sisp_sicrim.antigo.controller.programa;

import java.io.FileWriter;
import java.io.IOException;

import br.com.caelum.vraptor.Post;
import br.com.caelum.vraptor.Path;
import br.com.caelum.vraptor.Resource;
import br.com.caelum.vraptor.Result;
import br.com.vti.sisp_sicrim.antigo.model.DidCadastro;
import br.com.vti.sisp_sicrim.antigo.util.ExceptionProgram;
import br.com.vti.sisp_sicrim.antigo.util.Sessao;
import br.com.vti.sisp_sicrim.antigo.util.UtilBean;

/**
 * Classe : Pbcadciv OBJETIVO: LISTAGEM PARA O DPTO. DE MICROFILMAGEM (BONIFACIO) OBS : nomeClasse BATCH *
 * 
 * @author Incode - Data: mai/2014
 * 
 */

@Resource
@Path("/antigo/pbcadciv")
public class Pbcadciv {
	// Views utilizadas
	DidCadastro vwDidcad = new DidCadastro();
	// Telas/relatorios utilizados
	// Includes utilizados
	// Areas globais / session
	// Funcoes/subrotinas
	FuncoesGerais funcoes = new FuncoesGerais();
	FileWriter arquivo1;
	
	Result result;
	Sessao sessao;
	Boolean primeiraVez = false;

	public Pbcadciv(Result result, Sessao sessao) {
		this.result = result;
		this.sessao = sessao;
	}

	@Post
	public void executar() {
		try {
			main();
		} catch (Exception e) {
			throw new ExceptionProgram(e, sessao, this.getClass().getSimpleName());
		}
	}

	private void main() throws IOException {

		String reg = "";
		arquivo1 = new FileWriter(UtilBean.pathFiles() + "arquivo1");
		while (vwDidcad.pesquisaNumeroRgFaixaClas(160000L, 240000L)) { // sort-dinideRegger
			reg = UtilBean.moveSubstring("", 0, 13, "N", vwDidcad.getNumeroRg());
			reg = reg + UtilBean.moveSubstring("", 0, 60, "X", vwDidcad.getNomeIdent());
			arquivo1.write(reg);
			// //dao.rollback();
		}
		vwDidcad.fecha();
		arquivo1.close();
	}
}
